The modern computing era has brought about a tremendous expansion in computing power as well as increased affordability of computing devices. This expansion in computing power has led to a reduction in the size of computing devices and given rise to a new generation of mobile devices that are capable of performing functionality that only a few years ago required processing power provided only by the most advanced desktop computers. Consequently, mobile computing devices having a small form factor have become ubiquitous and are used for execution of a wide range of applications.
The widespread adoption of mobile computing devices and expanding capabilities of the wireless networks over which they may communicate has further fueled expansion in the functionalities provided by mobile computing devices. In addition to providing telecommunications services, many mobile computing devices now provide functionalities such as navigation services, camera and video capturing capabilities, digital music and video playback, and web browsing. Some of the expanded functionalities and applications provided by modern mobile computing devices allow capture of user context information, which may be leveraged by applications to provide value-added context-based services to users. In this regard, mobile computing devices may implement applications that provide adaptive services responsive to a user's current context, such as an environmental context describing an environment in which the user is located or an activity context describing an activity in which the user is engaged.